﻿using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using CarFrameWork.Common;
namespace CarFrameWork.Model
{
	/// <summary>
	/// 类车辆档案。
	/// </summary>
	[Serializable]
	public partial class 车辆档案
	{
		public 车辆档案()
		{}
		#region Model
		private string _车辆型号;
		private float _汽车满载质量;
        private float _汽车空载质量;
        private float _轮胎半径;
        private float _前轮轮距;
        private float _后轮轮距;
        private float _轴距;
        private float _质心高;
        private float _质心至前轴距;
        private float _汽车总质量;
        private float _发动机最大转矩;
        private float _变速器一档速比;
		/// <summary>
		/// 
		/// </summary>
		public string 车辆型号
		{
			set{ _车辆型号=value;}
			get{return _车辆型号;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 汽车满载质量
		{
			set{ _汽车满载质量=value;}
			get{return _汽车满载质量;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 汽车空载质量
		{
			set{ _汽车空载质量=value;}
			get{return _汽车空载质量;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 轮胎半径
		{
			set{ _轮胎半径=value;}
			get{return _轮胎半径;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 前轮轮距
		{
			set{ _前轮轮距=value;}
			get{return _前轮轮距;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 后轮轮距
		{
			set{ _后轮轮距=value;}
			get{return _后轮轮距;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 轴距
		{
			set{ _轴距=value;}
			get{return _轴距;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 质心高
		{
			set{ _质心高=value;}
			get{return _质心高;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 质心至前轴距
		{
			set{ _质心至前轴距=value;}
			get{return _质心至前轴距;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 汽车总质量
		{
			set{ _汽车总质量=value;}
			get{return _汽车总质量;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 发动机最大转矩
		{
			set{ _发动机最大转矩=value;}
			get{return _发动机最大转矩;}
		}
		/// <summary>
		/// 
		/// </summary>
        public float 变速器一档速比
		{
			set{ _变速器一档速比=value;}
			get{return _变速器一档速比;}
		}
		#endregion Model


		#region  Method

		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public 车辆档案(string 车辆型号)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select 车辆型号,汽车满载质量,汽车空载质量,轮胎半径,前轮轮距,后轮轮距,轴距,质心高,质心至前轴距,汽车总质量,发动机最大转矩,变速器一档速比 ");
			strSql.Append(" FROM [车辆档案] ");
			strSql.Append(" where 车辆型号=@车辆型号 ");
			SqlParameter[] parameters = {
					new SqlParameter("@车辆型号", SqlDbType.NVarChar)};
			parameters[0].Value = 车辆型号;

			DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);
			if(ds.Tables[0].Rows.Count>0)
			{
				if(ds.Tables[0].Rows[0]["车辆型号"]!=null && ds.Tables[0].Rows[0]["车辆型号"].ToString()!="")
				{
					this.车辆型号=ds.Tables[0].Rows[0]["车辆型号"].ToString();
				}
				if(ds.Tables[0].Rows[0]["汽车满载质量"]!=null && ds.Tables[0].Rows[0]["汽车满载质量"].ToString()!="")
				{
                    this.汽车满载质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车满载质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["汽车空载质量"]!=null && ds.Tables[0].Rows[0]["汽车空载质量"].ToString()!="")
				{
                    this.汽车空载质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车空载质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["轮胎半径"]!=null && ds.Tables[0].Rows[0]["轮胎半径"].ToString()!="")
				{
                    this.轮胎半径 = Convert.ToSingle(ds.Tables[0].Rows[0]["轮胎半径"].ToString());
				}
				if(ds.Tables[0].Rows[0]["前轮轮距"]!=null && ds.Tables[0].Rows[0]["前轮轮距"].ToString()!="")
				{
                    this.前轮轮距 = Convert.ToSingle(ds.Tables[0].Rows[0]["前轮轮距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["后轮轮距"]!=null && ds.Tables[0].Rows[0]["后轮轮距"].ToString()!="")
				{
                    this.后轮轮距 = Convert.ToSingle(ds.Tables[0].Rows[0]["后轮轮距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["轴距"]!=null && ds.Tables[0].Rows[0]["轴距"].ToString()!="")
				{
                    this.轴距 = Convert.ToSingle(ds.Tables[0].Rows[0]["轴距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["质心高"]!=null && ds.Tables[0].Rows[0]["质心高"].ToString()!="")
				{
                    this.质心高 = Convert.ToSingle(ds.Tables[0].Rows[0]["质心高"].ToString());
				}
				if(ds.Tables[0].Rows[0]["质心至前轴距"]!=null && ds.Tables[0].Rows[0]["质心至前轴距"].ToString()!="")
				{
                    this.质心至前轴距 = Convert.ToSingle(ds.Tables[0].Rows[0]["质心至前轴距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["汽车总质量"]!=null && ds.Tables[0].Rows[0]["汽车总质量"].ToString()!="")
				{
                    this.汽车总质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车总质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["发动机最大转矩"]!=null && ds.Tables[0].Rows[0]["发动机最大转矩"].ToString()!="")
				{
                    this.发动机最大转矩 = Convert.ToSingle(ds.Tables[0].Rows[0]["发动机最大转矩"].ToString());
				}
				if(ds.Tables[0].Rows[0]["变速器一档速比"]!=null && ds.Tables[0].Rows[0]["变速器一档速比"].ToString()!="")
				{
                    this.变速器一档速比 = Convert.ToSingle(ds.Tables[0].Rows[0]["变速器一档速比"].ToString());
				}
			}
		}

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(string 车辆型号)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select count(1) from [车辆档案]");
			strSql.Append(" where 车辆型号=@车辆型号 ");

			SqlParameter[] parameters = {
					new SqlParameter("@车辆型号", SqlDbType.NVarChar)};
			parameters[0].Value = 车辆型号;

			return DbHelperSQL.Exists(strSql.ToString(),parameters);
		}


		/// <summary>
		/// 增加一条数据
		/// </summary>
		public void Add()
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("insert into [车辆档案] (");
			strSql.Append("车辆型号,汽车满载质量,汽车空载质量,轮胎半径,前轮轮距,后轮轮距,轴距,质心高,质心至前轴距,汽车总质量,发动机最大转矩,变速器一档速比)");
			strSql.Append(" values (");
			strSql.Append("@车辆型号,@汽车满载质量,@汽车空载质量,@轮胎半径,@前轮轮距,@后轮轮距,@轴距,@质心高,@质心至前轴距,@汽车总质量,@发动机最大转矩,@变速器一档速比)");
			SqlParameter[] parameters = {
					new SqlParameter("@车辆型号", SqlDbType.NVarChar,50),
					new SqlParameter("@汽车满载质量", SqlDbType.Float,8),
					new SqlParameter("@汽车空载质量", SqlDbType.Float,8),
					new SqlParameter("@轮胎半径", SqlDbType.Float,8),
					new SqlParameter("@前轮轮距", SqlDbType.Float,8),
					new SqlParameter("@后轮轮距", SqlDbType.Float,8),
					new SqlParameter("@轴距", SqlDbType.Float,8),
					new SqlParameter("@质心高", SqlDbType.Float,8),
					new SqlParameter("@质心至前轴距", SqlDbType.Float,8),
					new SqlParameter("@汽车总质量", SqlDbType.Float,8),
					new SqlParameter("@发动机最大转矩", SqlDbType.Float,8),
					new SqlParameter("@变速器一档速比", SqlDbType.Float,8)};
			parameters[0].Value = 车辆型号;
			parameters[1].Value = 汽车满载质量;
			parameters[2].Value = 汽车空载质量;
			parameters[3].Value = 轮胎半径;
			parameters[4].Value = 前轮轮距;
			parameters[5].Value = 后轮轮距;
			parameters[6].Value = 轴距;
			parameters[7].Value = 质心高;
			parameters[8].Value = 质心至前轴距;
			parameters[9].Value = 汽车总质量;
			parameters[10].Value = 发动机最大转矩;
			parameters[11].Value = 变速器一档速比;

			DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
		}
		/// <summary>
		/// 更新一条数据
		/// </summary>
		public bool Update()
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("update [车辆档案] set ");
			strSql.Append("汽车满载质量=@汽车满载质量,");
			strSql.Append("汽车空载质量=@汽车空载质量,");
			strSql.Append("轮胎半径=@轮胎半径,");
			strSql.Append("前轮轮距=@前轮轮距,");
			strSql.Append("后轮轮距=@后轮轮距,");
			strSql.Append("轴距=@轴距,");
			strSql.Append("质心高=@质心高,");
			strSql.Append("质心至前轴距=@质心至前轴距,");
			strSql.Append("汽车总质量=@汽车总质量,");
			strSql.Append("发动机最大转矩=@发动机最大转矩,");
			strSql.Append("变速器一档速比=@变速器一档速比");
			strSql.Append(" where 车辆型号=@车辆型号 ");
			SqlParameter[] parameters = {
					new SqlParameter("@汽车满载质量", SqlDbType.Float,8),
					new SqlParameter("@汽车空载质量", SqlDbType.Float,8),
					new SqlParameter("@轮胎半径", SqlDbType.Float,8),
					new SqlParameter("@前轮轮距", SqlDbType.Float,8),
					new SqlParameter("@后轮轮距", SqlDbType.Float,8),
					new SqlParameter("@轴距", SqlDbType.Float,8),
					new SqlParameter("@质心高", SqlDbType.Float,8),
					new SqlParameter("@质心至前轴距", SqlDbType.Float,8),
					new SqlParameter("@汽车总质量", SqlDbType.Float,8),
					new SqlParameter("@发动机最大转矩", SqlDbType.Float,8),
					new SqlParameter("@变速器一档速比", SqlDbType.Float,8),
					new SqlParameter("@车辆型号", SqlDbType.NVarChar,50)};
			parameters[0].Value = 汽车满载质量;
			parameters[1].Value = 汽车空载质量;
			parameters[2].Value = 轮胎半径;
			parameters[3].Value = 前轮轮距;
			parameters[4].Value = 后轮轮距;
			parameters[5].Value = 轴距;
			parameters[6].Value = 质心高;
			parameters[7].Value = 质心至前轴距;
			parameters[8].Value = 汽车总质量;
			parameters[9].Value = 发动机最大转矩;
			parameters[10].Value = 变速器一档速比;
			parameters[11].Value = 车辆型号;

			int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
			if (rows > 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}

		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool Delete(string 车辆型号)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("delete from [车辆档案] ");
			strSql.Append(" where 车辆型号=@车辆型号 ");
			SqlParameter[] parameters = {
					new SqlParameter("@车辆型号", SqlDbType.NVarChar)};
			parameters[0].Value = 车辆型号;

			int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
			if (rows > 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}


		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public void GetModel(string 车辆型号)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select 车辆型号,汽车满载质量,汽车空载质量,轮胎半径,前轮轮距,后轮轮距,轴距,质心高,质心至前轴距,汽车总质量,发动机最大转矩,变速器一档速比 ");
			strSql.Append(" FROM [车辆档案] ");
			strSql.Append(" where 车辆型号=@车辆型号 ");
			SqlParameter[] parameters = {
					new SqlParameter("@车辆型号", SqlDbType.NVarChar)};
			parameters[0].Value = 车辆型号;

			DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);
			if(ds.Tables[0].Rows.Count>0)
			{
				if(ds.Tables[0].Rows[0]["车辆型号"]!=null && ds.Tables[0].Rows[0]["车辆型号"].ToString()!="")
				{
					this.车辆型号=ds.Tables[0].Rows[0]["车辆型号"].ToString();
				}
				if(ds.Tables[0].Rows[0]["汽车满载质量"]!=null && ds.Tables[0].Rows[0]["汽车满载质量"].ToString()!="")
				{
                    this.汽车满载质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车满载质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["汽车空载质量"]!=null && ds.Tables[0].Rows[0]["汽车空载质量"].ToString()!="")
				{
                    this.汽车空载质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车空载质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["轮胎半径"]!=null && ds.Tables[0].Rows[0]["轮胎半径"].ToString()!="")
				{
                    this.轮胎半径 = Convert.ToSingle(ds.Tables[0].Rows[0]["轮胎半径"].ToString());
				}
				if(ds.Tables[0].Rows[0]["前轮轮距"]!=null && ds.Tables[0].Rows[0]["前轮轮距"].ToString()!="")
				{
                    this.前轮轮距 = Convert.ToSingle(ds.Tables[0].Rows[0]["前轮轮距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["后轮轮距"]!=null && ds.Tables[0].Rows[0]["后轮轮距"].ToString()!="")
				{
                    this.后轮轮距 = Convert.ToSingle(ds.Tables[0].Rows[0]["后轮轮距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["轴距"]!=null && ds.Tables[0].Rows[0]["轴距"].ToString()!="")
				{
                    this.轴距 = Convert.ToSingle(ds.Tables[0].Rows[0]["轴距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["质心高"]!=null && ds.Tables[0].Rows[0]["质心高"].ToString()!="")
				{
                    this.质心高 = Convert.ToSingle(ds.Tables[0].Rows[0]["质心高"].ToString());
				}
				if(ds.Tables[0].Rows[0]["质心至前轴距"]!=null && ds.Tables[0].Rows[0]["质心至前轴距"].ToString()!="")
				{
                    this.质心至前轴距 = Convert.ToSingle(ds.Tables[0].Rows[0]["质心至前轴距"].ToString());
				}
				if(ds.Tables[0].Rows[0]["汽车总质量"]!=null && ds.Tables[0].Rows[0]["汽车总质量"].ToString()!="")
				{
                    this.汽车总质量 = Convert.ToSingle(ds.Tables[0].Rows[0]["汽车总质量"].ToString());
				}
				if(ds.Tables[0].Rows[0]["发动机最大转矩"]!=null && ds.Tables[0].Rows[0]["发动机最大转矩"].ToString()!="")
				{
                    this.发动机最大转矩 = Convert.ToSingle(ds.Tables[0].Rows[0]["发动机最大转矩"].ToString());
				}
				if(ds.Tables[0].Rows[0]["变速器一档速比"]!=null && ds.Tables[0].Rows[0]["变速器一档速比"].ToString()!="")
				{
                    this.变速器一档速比 = Convert.ToSingle(ds.Tables[0].Rows[0]["变速器一档速比"].ToString());
				}
			}
		}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select * ");
			strSql.Append(" FROM [车辆档案] ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
			return DbHelperSQL.Query(strSql.ToString());
		}

		#endregion  Method
	}
}

